Classe de conexão com banco de dados PostGreSQL [golfinho/Elefante]
Publicado por Emiliano Eloi Silva Barbosa 04/04/2007
[ Hits: 11.971 ]
Homepage: http://emilianoeloi.com.br
Tradução do script php de leo genilhu:
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=257
Classe de conexão com banco de dados PostGreSQL, com métodos de inserção e atualização de query's.
Ótimo para quem esta iniciando OOP.
class database{
var $db_HOST = "";
var $db_PORT = "";
var $db_USER = "";
var $db_PASS = "";
var $db = "";
var $CONST_ERRO = "erro ao conectar no nosso banco";
var $dbc;
var $last_id;
function database($db, $user, $pass="nopass",$host="localhost", $port=5432){
$this->db_HOST=$host;
$this->db_PORT=$port;
$this->db_USER=$user;
$this->db_PASS=$pass;
$this->db=$db;
$this->connect_db();
}
function connect_db(){
$connect_string = "host=".$this->db_HOST." port=".$this->db_PORT." user=".$this->db_USER." password=".$this->db_PASS." dbname=".$this->db;
$this->dbc = pg_connect($connect_string);
return $dbc;
}
function delete_db($table,$id){
$Campo_id = $this->getPrimaryKey($table);
$tmp="delete from $table where $Campo_id='$id'";
$sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error());
return $sts ;
}
function close_db (){
pg_close($this->dbc);
}
function insere_db($campos,$valores,$tab){
$inicio="INSERT INTO $tab(";
$meio=") VALUES (";
$fim=")";
$valor = sizeof($campos);
$strc="";
for($i=0;$i <= ($valor-1);$i++){
$strc.="$campos[$i]";
if($i != ($valor-1)){
$strc.=",";
}
}
$strv="";
for($k=0;$k <= ($valor-1);$k++){
$strv.="'$valores[$k]'";
if($k != ($valor-1)){
$strv.=",";
}
}
$insere="$inicio$strc$meio$strv$fim";
$this->query_db($insere);
$this->setLastID($tab);
}
function query_db($sql){
return pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
}
function reg_db($table){
$tmp="select * from $table";
$sts = pg_query($this->dbc,$tmp) or die($this->CONST_ERRO . pg_last_error());
$num = pg_num_rows($sts);
return($num);
}
function getPrimaryKey($table){
$sql = "select indexdef from pg_indexes where tablename = '$table' and indexname LIKE '%pkey';";
$res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
$resultado = pg_fetch_result($res, 'indexdef');
$arr_temp = explode("(",$resultado);
$arr_temp2 = $arr_temp[1];
$arr_temp = explode(")",$arr_temp2);
return $arr_temp[0];
}
function setLastID($table){
$sequence_name = $table . "_" . $this->getPrimaryKey($table) . "_seq";
$sql = "select currval('$sequence_name') AS lastid";
$res = pg_query($this->dbc,$sql) or die($this->CONST_ERRO . pg_last_error());
$this->last_id = pg_fetch_result($res,'lastid');
}
function id_db(){
return $this->last_id;
}
};
Pesquisando em PostGreSQL [golfinho/Elefante]
Classe de conexao com banco de dados mysql
NOTÍCIAS ATUALIZADAS E PERSONALIZADAS!
Sistema de autenticação, página protegida e registro de usuários
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









